//+--------------------------------------------------------------------------------
//| Copyright (c) 2012 - 2013 ### an.vuongngocduy
//| This file is a part of Compact Game Engine (CGE)
//+--------------------------------------------------------------------------------
#ifndef __CGE_RENDERER_H__
#define __CGE_RENDERER_H__

#include "cgeCommons.h"

namespace cge
{
	class Canvas;

	namespace gfx
	{
		class Renderer
		{
		public:
			//! Default constructor
			Renderer(){}


			//! Destructor
			virtual ~Renderer(){}


			//! Init the renderer
			virtual void Initialize(Canvas* canvas) = 0;


			//! Call this before doing any render task 
			virtual void BeginScene() = 0;


			//! Call this after finish rendering and to display the scene 
			virtual void EndScene() = 0;
		};
	}
}

#endif//__CGE_RENDERER_H__